{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'/AIRvePFS/dair/luoyz-data/Open_DAIR_BioMed'"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import os.path as osp\n",
    "import sys\n",
    "path = osp.dirname(osp.abspath(''))\n",
    "sys.path.append(path)\n",
    "sys.path.append(osp.join(path, \"open_biomed\"))\n",
    "path"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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V0hIyPjx49PS0mrVqvX999/7+PiomBMWZcMGefFFeeEFWb9e7SgAAFRq69atGzFihKIoP/300+jRo815aRaBBgDArBo1arR3796JEyfm5uZOmjRpzJgxWVlZ6enpL7300ogRI9LS0oYNG3b69GnaH5iSTidS5DHqAABADREREQEBAQaD4bPPPjNz+yMiLI8HAIC52dnZBWka16kAACAASURBVAcHd+3a9e9///tPP/20f//+O3fupKSkODs7f/XVV2PGjFE7ICwOBRAAAGq7dOmSj49Pdnb266+//s4775g/ACOAAABQx8svvxwREeHl5ZWSkpKamurt7R0ZGUn7gzKRny9CAQQAgGoyMzN9fX2Tk5P79+//7bffqpKBAggAANW0bNly9erVd+7cqV279r59+5o1a6Z2Ilgo4wggW1u1cwAAUBnpdLoXX3wxOjray8tr9erV1tbqTMaiAAIAQE1arVZEqlWrZmXFN2WUGaaAAag4bt68qXYEwJQURXnjjTd27txZp06dn3/+2dnZWa0krAEEAICadDqdiNhwZ44yRQEEoCLIzMzs2LHj+fPnraysWrRo8dxzz3Xq1KlTp06tWrXi1ySouD7++OMlS5Y4ODhs3LixYcOGKiahAAIAQE3GAsiWuTkoUxRAAMo9RVE6dep0/vx5ETEYDHFxcXFxccZdTk5O7dq1a9++fYcOHdq3b+/l5cX3TVQUq1evnjFjhlarXbFiRdeuXdUNQwEEAICaGAEEc6AAAlDuzZgx49y5c1ZWVitWrGjYsGFSUlJUVFRMTMzp06djY2P37du3b98+45HW1tYtWrTo1KmTl5eXp6ent7d39erV1Q0PPNC+ffvGjh2rKMqcOXOGDBmidhwKIAAAVEUBBHOgAIIFu3lTvvlGdu+WmzelWjXp0EHGjZP27dWOhcezatWqjz/+WKvVhoSEvPDCC8aNw4YNM/4lPT09Ojo68g/x8fExMTExMTGFL69Tp06nP3h5eTVt2lSF9wDc6/z588OGDcvLy/vXv/71z3/+U+04IhRAAACoiwII5kABBEt15IgMHCh37oivrzz5pKSlyYYNsmCBfPmlBAaqHQ6Pau/eva+88oqiKMHBwYXtT1EuLi49e/bs2bOn8cP8/PyzZ88W9kHHjx+/du3a5s2bN2/ebDzA1dXV09OzsBJiCSGY361btwYMGHDz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gAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAlubLhgAAF41JREFUQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAAAABA5QiAAAAAAAAAVI4ACAAAAAAAQOUIgAAAAAAAAFSOAAgAAAAAAEDlCIAAAAAAAABUjgAIAAAA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",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "smis = [\n",
    "    \"CCCC[Si](Cl)(Cl)Cl\", \n",
    "    \"CO[C@@]1([C@@H]2N(C1=O)C(=C(CS2)COC(=O)N)C(=O)[O-])NC(=O)CC3=CC=CS3\", \n",
    "    \"CCCCC/C=C\\C/C=C\\C/C=C\\C/C=C\\CCCC(=O)C(F)(F)F\",\n",
    "]\n",
    "texts = [\n",
    "    \"it appears as a colorless liquid with a pungent odor. Flash point 126Â°F. Corrosive to metals and skin. Used to make various silicon containing compounds.\",\n",
    "    \"it is a cephalosporin carboxylic acid anion having methoxy, 2-thienylacetamido and carbamoyloxymethyl side-groups, formed by proton loss from the carboxy group of the semisynthetic cephamycin antibiotic cefoxitin. It is a conjugate base of a cefoxitin.\",\n",
    "    \"it is a fatty acid derivative that is arachidonic acid in which the OH part of the carboxy group has been replaced by a trifluoromethyl group It has a role as an EC 3.1.1.4 (phospholipase A2) inhibitor. It is an organofluorine compound, a ketone, an olefinic compound and a fatty acid derivative. It derives from an arachidonic acid.\",\n",
    "]\n",
    "\n",
    "from rdkit import Chem\n",
    "from rdkit.Chem import Draw\n",
    "mols = [Chem.MolFromSmiles(smi) for smi in smis]\n",
    "Draw.MolsToGridImage(mols, legends=[\"Butyltrichlorosilane\", \"Mefoxin\", \"Aacocf3\"], molsPerRow=3, subImgSize=(512, 512))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/AIRvePFS/dair/luoyz-data/anaconda3/envs/biomedgpt/lib/python3.9/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n",
      "  from .autonotebook import tqdm as notebook_tqdm\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Config:  {'model': 'molfm', 'data': {'mol': {'modality': ['structure', 'text'], 'featurizer': {'structure': {'name': 'BaseGNN'}, 'text': {'name': 'TransformerTokenizer', 'transformer_type': 'bert', 'max_length': 128, 'model_name_or_path': '/AIRvePFS/dair/luoyz-data/Open_DAIR_BioMed/ckpts/text_ckpts/scibert_scivocab_uncased'}}}}, 'network': {'gin_hidden_dim': 300, 'gin_num_layers': 5, 'drop_ratio': 0.0, 'bert_config_path': '/AIRvePFS/dair/luoyz-data/Open_DAIR_BioMed/configs/encoders/multimodal/molfm_bert_config.json', 'max_n_nodes': 128, 'projection_dim': 256, 'kge': {'n_ents': 49151, 'n_rels': 16, 'norm': 2, 'hidden_size': 256, 'margin': 2.0}}}\n"
     ]
    }
   ],
   "source": [
    "# prepare data\n",
    "import json\n",
    "from open_biomed.utils.data_utils import DataProcessorFast\n",
    "from open_biomed.utils import fix_path_in_config\n",
    "\n",
    "config = json.load(open(\"../configs/mtr/molfm.json\", \"r\"))\n",
    "fix_path_in_config(config, path)\n",
    "print(\"Config: \", config)\n",
    "processor = DataProcessorFast(entity_type=\"molecule\", config=config[\"data\"][\"mol\"])\n",
    "processor.featurizer.set_mol2text_dict(dict(zip(smis, texts)))\n",
    "mols = processor(smis)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Similarity for  CCCC[Si](Cl)(Cl)Cl is [ 0.40700457 -0.1139261  -0.04660066] , Retrieved text is \" it appears as a colorless liquid with a pungent odor. Flash point 126Â°F. Corrosive to metals and skin. Used to make various silicon containing compounds. \"\n",
      "Similarity for  CO[C@@]1([C@@H]2N(C1=O)C(=C(CS2)COC(=O)N)C(=O)[O-])NC(=O)CC3=CC=CS3 is [-0.10423345  0.75913167  0.04899469] , Retrieved text is \" it is a cephalosporin carboxylic acid anion having methoxy, 2-thienylacetamido and carbamoyloxymethyl side-groups, formed by proton loss from the carboxy group of the semisynthetic cephamycin antibiotic cefoxitin. It is a conjugate base of a cefoxitin. \"\n",
      "Similarity for  CCCCC/C=C\\C/C=C\\C/C=C\\C/C=C\\CCCC(=O)C(F)(F)F is [0.13956559 0.10620868 0.60520554] , Retrieved text is \" it is a fatty acid derivative that is arachidonic acid in which the OH part of the carboxy group has been replaced by a trifluoromethyl group It has a role as an EC 3.1.1.4 (phospholipase A2) inhibitor. It is an organofluorine compound, a ketone, an olefinic compound and a fatty acid derivative. It derives from an arachidonic acid. \"\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "from open_biomed.models.multimodal import MolFM\n",
    "model = MolFM(config[\"network\"])\n",
    "state_dict = torch.load(\"../ckpts/fusion_ckpts/molfm.pth\", map_location=\"cpu\")[\"model\"]\n",
    "model.load_state_dict(state_dict)\n",
    "model.eval()\n",
    "\n",
    "with torch.no_grad():\n",
    "    structure_feats = model.encode_mol(mols[\"structure\"], proj=True)\n",
    "    text_feats = model.encode_text(mols[\"text\"])\n",
    "\n",
    "for i in range(len(smis)):\n",
    "    similarity = torch.cosine_similarity(structure_feats[i], text_feats)\n",
    "    best = torch.argmax(similarity).item()\n",
    "    print(\"Similarity for \", smis[i], \"is\", similarity.numpy(), \", Retrieved text is \\\"\", texts[best], \"\\\"\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.9.17 ('biomedgpt')",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.17"
  },
  "orig_nbformat": 4,
  "vscode": {
   "interpreter": {
    "hash": "c9acc99eda29845eb06fd58aaf0629edb79f58e739da13f56214d4672f20527d"
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
